[Boto3 Adv-Cal DAY17]検証で頻繁に躓いた箇所をふりかえってみる
boto3 で楽しむ AWS PythonLife 一人AdventCalendarです。
boto3のドキュメントを通して、サービス別にどういった事が出来るのかを理解したり、管理コンソールを通さずにTerminalだけで完結できるように検証していくことが目的になります。
17日目は検証で頻繁に躓いた箇所を挙げて、対処手順をまとめてみました。
目次
Roleのポリシー指定が一致していない場合
実行するサービスの適切なポリシーをロールへ適用する必要があります。適用するポリシーが不明な場合、最初はフルアクセスにして、少しずつ絞りながら確かめるという方法もあります。
また、一つのロールに複数のポリシーを制限なく付けるのではなく、検証毎にロールを作成して必要なポリシーの適用をお勧めします。
指定したリージョンでは利用できない場合
boto3から各サービスへアクセスする際に指定すべきリージョンについては、以下のリンク先を参照します。
AWSの各サービスにおけるリージョンの扱いは以下の2つに分類されます。
- リージョンが限定されているもの
- グローバルリージョンとして扱われるもの
前者でうまくアクセスができない場合は、us-east-1を設定して検証してみましょう。
指定する引数の構成がよくわからない場合
boto3のドキュメント中に
See also: AWS API Documentation
とリンクが張られている箇所があります。そこから利用する関数を辿ります。
IDによっては、実際に依存するサービスでインスタンスを生成することも求められるため、必要に応じてロジックベースか管理コンソールのいずれかで生成しましょう。
まとめ
boto3を利用した設計で一番手間どったのは、求められるパラメータがどのサービスを利用することで生成できるのか判別し難い時です。
管理コンソールはある程度必要なパラメータについてフォローがなされているため、わからなくなった場合は先に管理コンソールでの検証をお勧めします。